domenica, agosto 24, 2014

Windows Form all'interno di DLL con VB.NET

Può risultare utile avere dei form all'interno di una libreria DLL per poterli utilizzare in applicazioni diverse. A differenza delle Application però, le ClassLibrary non istanziano automaticamente i form al loro interno, e per far comunicare i form presenti nella libreria è necessario aggiungere una variabile, che qui chiamo myCaller, all'interno del form chiamato (addSection nell'esempio) che identifica il form chiamante (sectionsSelection).
Public Class addSection
    Public myCaller As sectionsSelection ' nome del form chiamante
Prima di chiamare il form è necessario istanziarlo e assegnare il chiamante:
Dim addsection As New addSection
addsection.myCaller = Me
addsection.ShowDialog()
In tal modo diventa semplice compiare i form creati in applicazioni all'interno delle librerie DLL. Quando il form addSection chiama metodi, controlli o variabili di sectionsSelection, basta usare myCaller oppure:
Dim sectionsSelection As sectionsSelection = myCaller
e il gioco è fatto.

Nessun commento: